/*
 * 版权所有 (C) 2015 知启蒙(ZHIQIM) 保留所有权利。
 * 
 * 欢迎到知启蒙网站（https://www.zhiqim.com）购买正版软件，知启蒙还提供许多开源框架和软件。
 * 
 * 1、本软件产品所有源代码受《中华人民共和国著作权法》和其他有关法律、法规的保护，其所有知识产权归湖南知启蒙科技有限公司所有；
 * 2、禁止复制和修改。不得复制修改、翻译或改编本软件所有源代码，或者基于本软件产品创作衍生作品；
 * 3、禁止进行逆向工程。不得对本软件的源代码进行逆向工程、反编译或试图以其他方式发现软件的源代码；
 * 4、个别授权：如需进行商业性的销售、复制、分发，包括但不限于软件销售、预装、捆绑等，必须获得知启蒙的书面授权和许可；
 * 5、保留权利：本注释未明示授权的其他一切权利仍归知启蒙所有，任何人使用其他权利时必须获得知启蒙的书面同意。
*/
package net.redxyz.repost.resource.action.plan;

import java.util.List;

import net.redxyz.repost.resource.SessionUser;
import net.redxyz.repost.resource.model.SellerCatRoot;
import net.redxyz.repost.resource.presenter.RepostPresenter;
import net.redxyz.repost.service.Main;
import net.redxyz.repost.service.dao.SysParamDao;
import net.redxyz.top.TaobaoService;
import net.redxyz.top.data.item.Item;
import net.redxyz.top.repost.dbo.AssRepostPlan;

import org.zhiqim.httpd.HttpRequest;
import org.zhiqim.httpd.context.extend.GetPostAction;
import org.zhiqim.kernel.Global;
import org.zhiqim.kernel.util.DateTimes;
import org.zhiqim.kernel.util.Ids;
import org.zhiqim.orm.ORM;

/**
 * 均衡上下架计划增加
 *
 * @version v7.0.1 @author zouzhigang 2021-7-29 新建与整理
 */
public class RepostPlanAddAction extends GetPostAction
{
    public void doGet(HttpRequest request) throws Exception
    {// Add
        SessionUser sessionUser = request.getSessionUser(SessionUser.class);
        SellerCatRoot seRoot = sessionUser.getSeRoot();

        String itemScript = RepostPresenter.getItemScriptStrByAdd(seRoot);
        request.setAttribute("itemScript", itemScript);
    }

    public void doPost(HttpRequest request) throws Exception
    {// Insert
        SessionUser sessionUser = request.getSessionUser(SessionUser.class);
        String nick = sessionUser.getNick();

        String planName = request.getParameterOnCNT("planName");
        String planWeeks = request.getParameterOnCNT("planWeeks");
        String planHours = request.getParameterOnCNT("planHours");
        String planTitle = request.getParameterOnCNT("planTitle");
        String planSellerCids = request.getParameterOnCNT("planSellerCids");

        List<Item> thisItemList = TaobaoService.getItemService().getOnsaleItemListAll(nick, sessionUser.getSessionId(), planSellerCids,planTitle);

        int maxItemNum = SysParamDao.getInt("limit.param", "repostMaxItemNum", 2000);
        if (thisItemList.size() > maxItemNum)
        {
            request.returnHistory("创建上架计划最多支持" + maxItemNum + "个宝贝，请重新选择类目操作");
            return;
        }

        AssRepostPlan plan = new AssRepostPlan();
        plan.setPlanName(planName);
        plan.setPlanWeeks(planWeeks);
        plan.setPlanHours(planHours);
        plan.setPlanSellerCids(planSellerCids);
        plan.setPlanTitle(planTitle);

        String time = DateTimes.getDateTimeString();
        String pid = Ids.uuid();

        plan.setNick(nick);
        plan.setPlanId(pid);
        plan.setCreateTime(time);
        plan.setUpdateTime(time);
        plan.setPlanStatus(0);
        plan.setPlanOperateStatus(0);
        plan.setPlanItemNum(0);
        plan.setPlanSequence(0);

        ORM.table().insert(plan);
        Global.getService(Main.class).postRequest(plan);

        request.setRedirect("/repost.htm");
    }

    @Override
    protected void validate(HttpRequest request)
    {

    }
}
